home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / app_note / an106a / an106-1
Text File  |  1991-05-30  |  38KB  |  903 lines

  1. Measuring Performance in the Extended Print Service Environment
  2.  
  3. Rich Lee
  4. Senior Consultant
  5. Systems Engineering Division
  6.  
  7. Abstract:
  8. NetWare print services can be configured for both simple and complex LAN 
  9. printing environments. After reviewing several concerns from the low#end 
  10. environment, this AppNote focuses on complex printing environments where many 
  11. users send jobs to a single print queue. It discusses the issues involved in 
  12. high#end printing environments and presents the results of some print service 
  13. performance tests in these environments. LAN designers and managers will find 
  14. several new techniques for predicting printing performance across the LAN.
  15.  
  16. Disclaimer
  17.  
  18. Novell, Inc. makes no representations or warranties with respect to the 
  19. contents or use of these Application Notes (AppNotes) or of any of the 
  20. third#party products discussed in the AppNotes. Novell reserves the right to 
  21. revise these AppNotes and to make changes in their content at any time, 
  22. without obligation to notify any person or entity of such revisions or 
  23. changes. These AppNotes do not constitute an endorsement of the third#party 
  24. product or products that were tested. Configuration(s) tested or described 
  25. may or may not be the only available solution. Any test is not a 
  26. determination of product quality or correctness, nor does it ensure 
  27. compliance with any federal, state or local requirements. Novell does not 
  28. warranty products except as stated in applicable Novell product warranties or 
  29. license agreements.
  30.  
  31. Copyright { 1991 by Novell, Inc., Provo, Utah. All rights reserved.
  32.  
  33. As a means of promoting NetWare AppNotes, Novell grants you without charge 
  34. the right to reproduce, distribute and use copies of the AppNotes, provided 
  35. you do not receive any payment, commercial benefit or other consideration for 
  36. the reproduction or distribution, or change any copyright notices appearing 
  37. on or in the document.
  38.  
  39. Contents
  40.  
  41. Introduction        5
  42.  
  43. What Are Extended Print Services?        5
  44.  
  45. Why Study Extended Print Services?        5
  46.  
  47. Review of the Low#End Printing Environment        6
  48.  
  49. The Low#End Printing Model        6
  50.  
  51. Measuring Time Required to Print        7
  52.  
  53. Production Rates for Low#End Printing        8
  54.  
  55. The Effect of Network Awareness        9
  56.  
  57. The High-End Printing Environment        9
  58.  
  59. The High#End Printing Model        9
  60.  
  61. Number of Users per Printer        10
  62.  
  63. More Than One Job in the Queue        10
  64.  
  65. Measuring Print Time with Multiple Print Jobs        11
  66.  
  67. Defining the Dependent Variables        12
  68.  
  69. Isolating Application Adding Time        13
  70.  
  71. Extended Print Service Performance Tests        14
  72.  
  73. Basic Hardware Configuration        14
  74.  
  75. What We Measured and Why        14
  76.  
  77. Parameters for Calculation        15
  78.  
  79. Start Time        15
  80.  
  81. Dwell Time        15
  82.  
  83. Adding Time        16
  84.  
  85. Activation Time        16
  86.  
  87. Throughput Time        16
  88.  
  89. Clear Time        17
  90.  
  91. Print Time        17
  92.  
  93. Observations and Test Conclusions        17
  94.  
  95. Implementation Considerations        19
  96.  
  97. Calculating Average Queue Utilization        19
  98.  
  99. Probability Modeling        20
  100.  
  101. Appendix A: Test Results for Extended Print Services        22
  102.  
  103. Appendix B: High#End Test Configurations        23
  104.  
  105. Introduction
  106.  
  107. This Application Note is a follow#up to the information in the #NetWare Print 
  108. Service Performance" AppNote published in April 1991. Whereas that AppNote 
  109. dealt with measuring print service performance in the low#end printing 
  110. environment, this AppNote looks at the issues connected with measuring 
  111. performance in the high#end or #extended" printing environment. It reviews 
  112. the basic concepts of the low#end printing model, then discusses the 
  113. variables that must be considered in the high#end printing model. After 
  114. explaining the test methodology for extended print services, it presents some 
  115. formulas that can be used in calculating average queue utilization and 
  116. probability modeling.
  117.  
  118. What Are Extended Print Services?
  119.  
  120. For our purposes, we will define the ground of extended print services as 
  121. follows:
  122.  
  123.     Any situation in which there is more than one job in the print queue 
  124. at a time is an extended print service##or, more accurately, extends the 
  125. print service.
  126.  
  127. Basic to the understanding of extended print services is that there is no 
  128. additional supporting software with which you extend your print services. 
  129. Rather, the way you implement applications and hardware configurations 
  130. extends your need for print services beyond the low#end printing environment 
  131. of one job in one queue. 
  132.  
  133. In the extended printing environment, the print service and queue management 
  134. functions do not become active and then go inactive with each print job. 
  135. There are jobs to process beyond the current one. These other jobs in the 
  136. queue extend (by time and job) print service activity; hence, #extended" 
  137. print services.
  138.  
  139. Why Study Extended Print Services?
  140.  
  141. Even in low#end printing there can be periods of high usage which look, for 
  142. the short term, very much like high#end. There are studies which indicate 
  143. that even the most innocuous low#end environment may become a veritable 
  144. torrent of printing activity, due more to human nature than to technical 
  145. variables. (We'll look more closely at this phenomenon in a future AppNote.)
  146.  
  147. Because of the potential intersection of low#end and high#end printing, even 
  148. the low#end  environment may present the LAN supervisor with difficulties 
  149. normally encountered in high#end printing scenarios. What's more, users often 
  150. get downright hostile when network printing slows down. For these reasons, 
  151. the LAN supervisor should plan printing resources with the worst case in 
  152. mind, or at least think through the ramifications for the maximum expected 
  153. load.  This can be hard to do, and may require gathering information from 
  154. several sources. Hopefully the information in this AppNote will help. 
  155.  
  156. Review of the Low#End Printing Environment
  157.  
  158. The #NetWare Print Service Performance" AppNote was concerned with measuring 
  159. printing rate (in bytes per second) and production performance (in PPM and 
  160. GPPM) in the low#end environment. It also dealt with determining what aspects 
  161. of printing were production bottlenecks and calculating the throughput of the 
  162. document to the printer. We measured delivery performance using Word Perfect 
  163. 5.0 as our test application. We also briefly mentioned the difference between 
  164. NetWare aware and unaware printing, and working around the CAPTURE command.
  165.  
  166. In those studies, we came to several conclusions. Primarily, we saw that 
  167. transmission rate is not a very useful measurement of printing performance. 
  168. Rates can be misleading, especially with graphics output. Production 
  169. performance at the printer is a far better measure of printing throughput.
  170.  
  171. There were some other items of interest. Printing rates overall were slow, 
  172. mainly because the applications just did not format and send the data 
  173. rapidly. Printing at the printer was also slow, especially through serial 
  174. ports. If all printing were done at the typical low#end rate of 2,242 bytes 
  175. per second, high#end printing would suffer. 
  176.  
  177. The Low#End Printing Model 
  178.  
  179. All of this went to further our understanding of the low#end printing model, 
  180. where print jobs must be added to a queue before the print redirection 
  181. process can be attended to by the network print services.
  182.  
  183.  shows how we measured total print time in the low#end scenario (one job in 
  184. the queue).
  185.  
  186. : Low#end Printing Scenario  
  187.  
  188. Our definition of the low#end environment does not necessarily imply that you 
  189. have a small number of users. It does imply that there is little network 
  190. printing being done (because there is only one job in the queue at any given 
  191. time.) However, the actual amount of setup and maintenance work is 
  192. disproportionate to the amount of printing that takes place. A LAN supervisor 
  193. defining print queues, printer definitions, and printer configurations  
  194. cannot afford to maintain a high#end network using low#end options.  Whereas 
  195. a LAN supervisor in the low#end might define one queue for users and provide 
  196. PRINTCON and PRINTDEF definitions for their individual needs, in the high#end 
  197. a print queue might need to be designed for a particular type of printing 
  198. (for instance, letterhead) and other queues might be set for other printer 
  199. specific functions.
  200.  
  201. Measuring Time Required to Print
  202.  
  203. The essence of low#end printing is calculating how long it takes to print one 
  204. job. This section gives a quick review of how this can be done.
  205.  
  206. Production Rates for Low#End Printing
  207.  
  208.  lists typical production rates as determined in our low#end printing tests. 
  209. These rates can be used in determining the time an application takes to 
  210. produce a printed document. 
  211.  
  212. : Production Rates for Low#End Printing 
  213.  
  214. For example, if you want to know how long it would take to print a Graphics 
  215. Only document in WordPerfect you'd need to know the production rate first.
  216.  
  217. Referring to , you can use the following formula for calculating the 
  218. approximate time to produce a completed document for a specific printer type:
  219.  
  220.                 DOCUMENT SIZE (bytes)
  221.        PRINT TIME (sec)  =     -----------------------------        
  222.     (2-1)
  223.                 PRODUCTION RATE (bytes/sec)
  224.  
  225. The variables in this formula are defined as follows:
  226.  
  227.     Document Size   =     Transmittable size of the document (in bytes) 
  228. by 
  229.                 document type
  230.  
  231. Note that this is not the same as the size of the document as it is stored on 
  232. disk. When you send a document to be printed, the size increases because of 
  233. the additional information that is set to the printer. To see the difference, 
  234. use CAPTURE CR = FileName TI=nn and observe the size of the resultant file.
  235.  
  236.     Production Rate  =     Bytes per second to transmit the document to 
  237. the                         printer (from the table)
  238.  
  239. Of course, you also need to know the printer port type (parallel or serial) 
  240. and the document type (G/O, STR, T/G, or T/O) to do the calculation. The 
  241. table only shows the rates for G/O documents sent to an HP PCL#5 printer 
  242. through a parallel port. See the April AppNote for more complete tables. 
  243. Remember also that the printable document size is computed from the printer 
  244. output when the document is sent to the printer. 
  245.  
  246. The Effect of Network Awareness
  247.  
  248. The rates shown above are for applications that have network#aware printing 
  249. capabilities. Using the CAPTURE command to redirect local printing to the 
  250. network decreases the rate and increases the time to print the document 
  251. considerably. If you want to use an application that does not use 
  252. network#aware printing, the increase in print time may or may not be a 
  253. problem. However, you might contact the program's manufacturer and let them 
  254. know how beneficial the addition of network#aware capabilities would be.
  255.  
  256. This type of calculation for print time is useful only to someone in the 
  257. low#end printing environment. Once you move into the high#end environment 
  258. (with more than one job in the queue), the methods for calculating how 
  259. quickly a job can be produced change drastically.
  260.  
  261. The High-End Printing Environment
  262.  
  263. Having reviewed the low#end printing environment, we are ready to pursue the 
  264. next step of the printing series, which is to further divide the matrix to 
  265. cover more complex situations.
  266.  
  267. The High#End Printing Model
  268.  
  269. The contrasts between the low#end and high#end of printing are mainly found 
  270. in:
  271.  
  272. w    the relative organization of the print service structures (which 
  273. print services are selected)
  274.  
  275. w    the reasons behind creating additional print queues (the problem you 
  276. are trying to solve)
  277.  
  278. w    the quantity of print jobs (how much paper is used)
  279.  
  280. w    the frequency of print queue utilization (how many jobs are in the 
  281. queue at a time)
  282.  
  283. Admittedly, there are more ways of combining the above factors than any one 
  284. article can deal with. We'll focus on print job quantity and the methodology 
  285. used to redirect and complete those jobs. In the low#end there is 
  286. occasionally quantity, but rarely the increased use of options to handle 
  287. additional workload.  In the high#end there is often a large quantity of 
  288. print jobs, along with numerous options for handling the workload.
  289.  
  290. In the high#end model, you have more queues, more users, and usually a longer 
  291. period of time before all current jobs are done. To do any type of prediction 
  292. on how long it will take to get a job printed, you must consider the 
  293. following factors.
  294.  
  295. Number of Users per Printer
  296.  
  297. Determining how many people are using each printer is trickier than it seems. 
  298.  Often a printer has more than one queue sending work.  You may have to 
  299. account for users from different parts of the network before you can study 
  300. the actual printer activity. The following is a rough formula that might help 
  301. you:
  302.  
  303.         N = NP1Q1 + NP1Q2 + ... +NP1(Sn/Qn)              
  304.     (2-2)
  305.  
  306. where
  307.  
  308. N =    Number of user for Printer #1
  309. NP1Q1   =     Number of users sending jobs to Printer #1 via Queue #1
  310. NP1Q2   =     Number of users sending jobs to Printer #1 via Queue #2
  311. NP1(Sn/Qn) = Number of users sending jobs to Printer #1 via Queue n on Server 
  312. n
  313.  
  314. More Than One Job in the Queue
  315.  
  316. The main difference between low#end and high#end printing is that in the 
  317. high#end environment a second print job is already in the queue ready to be 
  318. activated. In this case, the relationship in formula 2-1 relating printing 
  319. time to the length of the document cannot be used. The total time to produce 
  320. the document is now reliant to some degree upon the time in which other 
  321. documents are finished at the printer. 
  322.  
  323.  shows the events that must be measured to determine total time to print in 
  324. the high#end environment.
  325.  
  326. : High#end Printing Scenario 
  327.  
  328. The times labled T0 through T7 will be defined later in this AppNote.
  329.  
  330. In , the three print jobs arrive in the queue at about the same time.  shows 
  331. other possibilities for how jobs can arrive in the queue.
  332.  
  333. : Three Ways Multiple Jobs Can Arrive in the Queue    
  334.  
  335. Scenario #1 in  resembles the low#end model. It is when print jobs start to 
  336. overlap in the queue that we move into the high#end and measuring time to 
  337. print becomes more difficult.
  338.  
  339. Measuring Print Time with Multiple Print Jobs
  340.  
  341. Now that we have covered some of the differences between low#end and high#end 
  342. printing environments, we can examine how to measure performance in the 
  343. high#end environment. 
  344.  
  345. In the low#end environment, we measured performance as the total time to 
  346. print divided into the total pages printed:
  347.  
  348.                 NUMBER OF PAGES
  349.        PPM (pages/min)    =     --------------------            
  350.     (2-3)
  351.                 TIME TO PRINT
  352.  
  353. The time to print was measured from the job initiation (to) to the printing 
  354. completion time (tn) when the last page came out of the printer.
  355.  
  356. T (time to print) = tn # to                         
  357.         (2-4)
  358.  
  359. In the high#end, the time to print a document is influenced by the number of 
  360. jobs ahead of the one you want to print:
  361.  
  362. Total Time = T(job #1)  + T(job #N) ... + T(your job)             
  363.         (2-5)
  364.  
  365. This creates a difficulty for the designer or supervisor (not to mention the 
  366. user) in that you must be able to predict the number of print jobs to 
  367. determine the amount of hardware that must be allocated, to say nothing of 
  368. the manpower required for preparation and implementation. It changes the 
  369. environment to one where probabilities describe the time to print a document.
  370.  
  371. Defining the Dependent Variables
  372.  
  373. In working with extended print service performance, we need to define more 
  374. terms. For our performance testing, we divided the observable print service 
  375. functions into distinctly quantifiable parameters.
  376.  
  377. Some of the parameters received names based upon a necessary measure; others 
  378. were named from calculated test results. For instance, the time for a print 
  379. job to be added to a queue was seen as distinctly different from the time to 
  380. deliver it to the printer. This parameter was called the Queue Adding time. 
  381. Each of the other distinct functions inherent to the print service function 
  382. were looked at and named in a similar fashion.  lists the dependent variables 
  383. we identified
  384.  
  385. : Dependent Variables for Measuring Extended Print Service Performance 
  386.  
  387. These variables are shown in . TESTDOC would be the job sent by User 1, and 
  388. FINALDOC would be the job sent by User 2. We'll talk more about these 
  389. variables later.
  390.  
  391. Isolating Application Adding Time
  392.  
  393. Defining these measurable quantities was not enough. We also had to determine 
  394. if they had a function, what measuring them actually described in the system, 
  395. and what print service was actually responsible for the performance measured.
  396.  
  397. For instance, T2 (the Adding time) is the difference between t2 (the measured 
  398. time) and to (the time at initiation).  
  399.  
  400. T2 = t2(time at Ready flag) # t0(time at start)                
  401.             (2-6)
  402.  
  403. The resultant T2 is the absolute time from the start. The Adding time was the 
  404. amount of time the application took to add the document to the queue and for 
  405. the #Ready" flag to be produced in PCONSOLE. Observably, Adding times were 
  406. longer for applications adding print jobs than for NPRINT to add to the 
  407. queue. This made sense, since NPRINT sends already formatted 
  408. printer#compatible output.
  409.  
  410. We saw Adding time as a significant number for two other reasons. One, the 
  411. first job in the queue would put its Adding time on in front of any other 
  412. subsequently added job (that is, another job that is added before the first 
  413. one clears or is sufficiently long to be adding when the first one is clear. 
  414. Although different in detail, the instance looks much the same to the waiting 
  415. users.) Two, different applications have different Adding times, but the 
  416. Adding time becomes less significant as the job length increases.
  417.  
  418. From our low#end study, we knew that the document type had a direct effect on 
  419. the printer performance. In the area of high#end printing, we recognized that 
  420. the document type would continue to have a marked effect on the queue Adding 
  421. time and on the printer response time. We also knew that the printing port 
  422. (parallel or serial) had some of the greatest effect upon printing 
  423. performance. The questions we had were:
  424.  
  425. w    Will the limitations of the printing port dictate the amount of queue 
  426. loading and (subsequently) the printing performance at the printer?    
  427.  
  428. w    Will the printing rate from the queue to the printer be significantly 
  429. high that jobs from the queue will drain out instead of build up?
  430.  
  431. w    Will the institution of alternate printers and services be necessary 
  432. to maintain printing performance? These questions will have to be answered 
  433. later.
  434.  
  435. What we're ultimately aiming for is a formula or table which would be useful 
  436. in predicting the time to receive print jobs in the high#end environment. At 
  437. least this would be something to justify the purchase of another printer, and 
  438. help in the future matter of how to maintain all of this as a LAN supervisor.
  439.  
  440. Extended Print Service Performance Tests
  441.  
  442. In designing our extended printing performance tests, we used two major 
  443. operating systems:  NetWare v2.2 and v3.11. The testing configurations were 
  444. similar to the configurations tested in the low# end study, with the 
  445. following differences:
  446.  
  447.  
  448. w    the ports tested (only parallel, no serial) 
  449.  
  450. w    the type of printers used (HPIII and HPIIIsi with its own network 
  451. interface card)
  452.  
  453. w    the number of queues (some tests utilized two loaded queues)
  454.  
  455. Basic Hardware Configuration
  456.  
  457.  shows our basic hardware configuration.  As usual, all of the testing was 
  458. done on thin Ethernet cable with NE2000 cards. Most of the testing revolved 
  459. around manipulating the parameters and workloads in one configuration.
  460.  
  461. : Basic Test Configuration
  462.  
  463.  
  464. What We Measured and Why
  465.  
  466. In the testing regimen, our interest centered around times of delivery to 
  467. anywhere and everywhere the print job was tracked before it was finished at 
  468. the printer. Our interest in where the job went and how long it was there led 
  469. us through the parts of NetWare printing we could measure and gave us some 
  470. insight into what processes were taking how long in the printing environment.
  471.  
  472. As mentioned before, we had decided to break the printing process into the 
  473. major component parts that we could discriminate. From those we would try to 
  474. discern what factors were pertinent in measuring the print services and which 
  475. were extraneous.
  476.  
  477. From , we were able to break print services into the following major 
  478. components: Start time, Dwell time, Adding time, Activation time, Throughput 
  479. time, Clear time, and Print time.
  480.  
  481. Parameters for Calculation
  482.  
  483. This section discusses derived values. The derived values are the result of 
  484. subtracting the tn values discussed in the previous section. The resulting 
  485. values have been assigned capital letters. The time formulas, or #T" 
  486. formulas, provide us with several insights and a few questions which we do 
  487. not have answers for yet. 
  488.  
  489. Start Time
  490.  
  491. The first parameter is Start Time. In and of itself, it only marks the 
  492. beginning of the test. However, it has become the basis by which we measure 
  493. the absolute time of events on the printing side of the network.  
  494.  
  495.  To  =  START TIME                              
  496.         (2-7)
  497.  
  498. Dwell Time
  499.  
  500. The next item we will call Dwell time, until we come up with a more 
  501. descriptive name. Dwell time is the interval between the start of a print job 
  502. (user print initiation) and the time it actually starts being added to the 
  503. queue. Note that we mean the time the Adding flag is set, not the time it 
  504. actually appears in PCONSOLE. Ideally, this is what we would have liked to 
  505. measure. But the lack of sophisticated#enough tools prevented it. What we 
  506. measured was the time until the Adding flag appeared. 
  507.  
  508. T1 = DWELL TIME = t1 # t0                         
  509.         (2-8)
  510.  
  511. The value of Dwell time is that it tells us the amount of time between the 
  512. user initiating printing to the network and the time for the network to 
  513. initiate the response that says #OK, adding job XYZ." That also includes 
  514. formatting time for the application. 
  515.  
  516. So what value is there in measuring the Dwell variable?  Probably more than 
  517. just how long you have to wait for the PCONSOLE #Adding" message to come on. 
  518. Actually, it tells you a lot about the application's ability to print 
  519. immediately or wait for other processes. On a busy network (85 percent 
  520. utilization),  Dwell time does not appear to take any longer than on a 30 
  521. percent utilized network. 
  522.  
  523. That is one of the reasons we used NPRINT for our testing.  It significantly 
  524. reduced the wait for T1. (For now, Dwell time is a measurable number of 
  525. questionable significance.)
  526.  
  527. Adding Time
  528.  
  529. Adding time is calculated in the same way as the Dwell time:
  530.  
  531. T2 = ADDING TIME = t2 # t0                         
  532.     (2-9)
  533.  
  534. This is the time it takes to get the #Ready" message in PCONSOLE, and 
  535. represents the amount of time for the application to send the formatted data 
  536. to the queue. 
  537.  
  538. Activation Time
  539.  
  540. The Activation time is how long it takes to get the #Active" flag from 
  541. PCONSOLE. At this point, everything is in the print queue and the print 
  542. service has gone active to the printer.  
  543.  
  544. T3 = ACTIVATION TIME = t3 # t0                         
  545.     (2-10)
  546.  
  547. Throughput Time
  548.  
  549. One of the measurements taken which has not been evaluated thoroughly is the 
  550. THRU time, the time for the first sheet to be printed. 
  551.  
  552. T4 = THRU TIME = t4 # t0                         
  553.         (2-11)
  554.  
  555. This is probably a misnomer and the selection of using the first sheet from 
  556. the printer is probably a mistake. That will have to wait for another set of 
  557. tests to verify. What it should have measured (and at this point probably 
  558. does not) is the effect on the print service of utilizing PRINTCON and 
  559. PRINTDEF. It might provide some insight into the performance activity 
  560. relation with and without those utilities. For now, the data was sampled 
  561. without PRINTCON or PRINTDEF.
  562.  
  563. Clear Time
  564.  
  565. Next is the #Clear" time, which we define as the disappearance of the 
  566. #Active" message from PCONSOLE. Interestingly enough, in all cases this 
  567. corresponded to the NEXT JOB time that we were trying to obtain as a 
  568. different measurement. The #Active" message appeared for the next print job 
  569. in the queue just as the last job cleared.
  570.  
  571. T5 = CLEAR TIME = t5 # t0                         
  572.         (2-12)
  573.  
  574. Print Time
  575.  
  576. The last measured time was when the final page of the print job came out of 
  577. the printer. This Print time, as we dubbed it, was the time for the job to 
  578. complete at the printer. T6 would be the time to use for calculating printing 
  579. performance.
  580.  
  581. T6 = PRINT TIME = t6 # t0                         
  582.         (2-13)
  583.  
  584. Observations and Test Conclusions
  585.  
  586. The results of our extended print services tests are given in Appendix A. We 
  587. had the opportunity to make several observations during our testing regimen. 
  588. As observations, they have to be qualified as such. They are not necessarily 
  589. tested results, and may prove completely erroneous.
  590.  
  591. One of the most interesting things we observed during the printing tests was 
  592. the server utilization. During the server loading tests for the HPIII using 
  593. the parallel port, the server utilization normally went from 50 percent 
  594. (loaded) to 85 percent and then varied from 67 percent to 92 percent for the 
  595. remainder of the printing process. When the HPIIIsi was tested under the same 
  596. conditions, the server utilization went to 85 percent momentarily, dropped 
  597. back to 50 percent (the load factor) for most of the print job, increased 
  598. briefly to 70 percent, then returned to 50 percent. 
  599.  
  600. We were looking for some simple time measurements that indicated print job 
  601. transmission rates across the network. We found just those, but with an 
  602. interesting twist. When the parallel port was being tested, we could see the 
  603. transmission rate of the parallel port was definitely affecting the 
  604. production rate so that nothing was going to the printer faster than 1,799 
  605. bps. With the HPIIIsi, the transmission rate to the printer was higher.
  606.  
  607. The results in  show the comparison between NetWare v2.2 and v3.11 for 
  608. parallel port HPIIIsi printing with regard to the t5 # t3 time. This brought 
  609. up some question as to what effect replicating the experiment with a Graphics 
  610. Only document would have, so we tested it as well. 
  611.  
  612. : Comparison of Rates with VAP and NLM 
  613.  
  614. Interestingly, the results for the HPIIIsi indicate that with the influence 
  615. of the parallel port removed and the printer changed (between the HPIII and 
  616. the HPIIIsi), the transmission rate from the queue to the paper was no longer 
  617. a major limiting factor in print job production. A Graphics Only document 
  618. moves through the queue almost as fast as a Text/Graphics document does.
  619.  
  620. Implementation Considerations
  621.  
  622. One of the major concerns in implementing extended print services is user 
  623. convenience. The whole point of optimizing print services is to give the user 
  624. as optimal a consideration as possible, while maintaining (if not optimizing) 
  625. the ability to manage the activity and the network. Users bear the brunt of 
  626. the work activity (#load"); the computer could care less. Over the years, 
  627. users have increased their productivity, and now with the microcomputer being 
  628. well established there is no reason to expect that productivity to decline. 
  629. In fact, faster CPUs, better application software, and faster peripherals all 
  630. precede an even greater surge in productivity. As we view users, we find that 
  631. almost universally they become more proficient at whatever tasks they have. 
  632. Printing is no exception.  With all these increasingly productive software 
  633. users printing, LAN services will have to improve.  The areas of design, 
  634. implementation, and supervision will all need sharper, faster tools.  
  635.  
  636. In the meantime, here are a few formulas which may not alter the shape of 
  637. your LAN, but may provide just enough ammunition in the next planning meeting 
  638. to get you the additional items you need.
  639.  
  640. Calculating Average Queue Utilization
  641.  
  642. One calculation that may prove very useful to the LAN supervisor is a simple 
  643. but effective average of time the queue is utilized.
  644.  
  645.                     T(App.Avg.(full)) + (N#1) T(Avg. 
  646. Active) 
  647.     Avg. Printing Time    =     ---------------------------    
  648.         (2-14)
  649.                                             N
  650.  
  651. Note that (N#1), the number of people printing minus one, is not a subscript, 
  652. but a multiplier.   
  653.  
  654. Here T(App.Avg.(full)) is equal to the average measured full time for an 
  655. application to print through to the printer (assuming no queue priorities 
  656. have been set). It must take into account all the types of print jobs that 
  657. different types of users may send to that queue. If you want to determine 
  658. this number, get a sampling of the documents used by a queue's workgroup for 
  659. that queue specifically and print them out, one at a time. Then take the 
  660. average. 
  661.  
  662. The result in formula 2-14 is the average time to complete printing for all 
  663. of the users in a queue. You can expend a lot of work in determining this 
  664. number, especially if individuals in the queue workgroup or queue#group are 
  665. highly heterogeneous in their printing. But the result, especially for peak 
  666. period printing, is extremely useful. It can tell you approximately how long 
  667. the last person will wait for a print job in peak periods. 
  668.  
  669. It is up to the LAN supervisor or print manager to get with the users and 
  670. work out a solution if this time is too long. How long is too long is 
  671. something you will have to work out within your own workgroups and budget 
  672. constraints. However, it does present the necessity for exploring some of the 
  673. alternatives in print service design. Options you may wish to explore 
  674. include:
  675.  
  676. w    multiple queues
  677.  
  678. w    multiple (existing or new) printers to a queue with user notification 
  679.  
  680.  
  681. w    high speed printers
  682.  
  683. w    consolidating several queues 
  684.  
  685. w    changing the physical design of the printing workgroups
  686.  
  687. Probability Modeling
  688.  
  689. The next activity that may be of interest is calculating the probability of 
  690. getting your own job through in a period of time. Using a typical example 
  691. such as ten people, each with five print jobs to do by noon, usually gives 
  692. the wrong result. This oversimplification does not take into consideration 
  693. that the five print jobs are six#page contracts, that they are in revision 
  694. two times, that they are printed for the individual with each revision, and 
  695. that they all have to go out by noon. What this means is ten people will be 
  696. printing those jobs twice between 11:00 a.m. and 11:45 a.m. That's 100 print 
  697. jobs (fancifully the short ones are one page long) all to be printed in 45 
  698. minutes.  
  699.  
  700. Now suppose the print jobs are real estate letters and each one of them 
  701. contains a graphic. It's going to take the ten users 1 second each to begin 
  702. the printing cycle; unfortunately only one user can be first. The other nine 
  703. will get their jobs in after the lucky first user. Several people are going 
  704. to have to wait; the only question is who and for how long. 
  705.  
  706. Regarding the #who" question, you can always set the queue priority for 
  707. several queues talking to one printer. This lets you get the chief 
  708. executive's print job scheduled as number 2 with multiple queues to one 
  709. printer, even when the job is sent as number 6.
  710.  
  711. Having several queues talking to one printer gives our average time formula a 
  712. bit of a twist, because the number N in the formula now has to take into 
  713. consideration all of the queue#groups that talk to one printer.
  714.  
  715. N = n (queue group #1) + ... + n (queue group #N)             
  716.             (2-15)
  717.  
  718. With this value for N, it should not take longer for the last job to be 
  719. printed than the average print time multiplied by the number of users.
  720.  
  721.                 T(App.Avg.(full)) + (N#1) T(Avg. Active) 
  722. Avg. Printing Time     =    ----------------------------          
  723.     (2-16)                                          N   
  724.  
  725. For peak period printing with printer contention from other queue#groups, the 
  726. probability model for the priority 2 queue with a priority 1 queue attached 
  727. begins to look like:
  728.  
  729.             (T(App.Avg.(full)) + T(Avg. Active Queue1)) x (N-2) + 
  730. T(Avg. Active Queue2)
  731. Avg. Printing Time = --------------------------------------------------- 
  732.     (2-17) 
  733.                                           NToT
  734.  
  735.  For periods with no contention, it looks like:
  736.  
  737. Avg. Printing Time =  T(App. Avg. (full) Queue2)              
  738.         (2-18)
  739.  
  740. Normally it should not take longer than the above average time for the 
  741. non#priority job to get through the printer.   
  742.  
  743. Of course, you can take this type of modeling beyond its useful boundaries, 
  744. but figuring your average print time does provide the groundwork for a 
  745. discussion on when new printers may need to be added and what queues will 
  746. have priority over the others. 
  747.  
  748. Appendix A: Test Results for Extended Print Services
  749.  
  750. The following table lists the times recorded during the extended print 
  751. service tests. The absolute times (ABS) indicate cumulative time from the 
  752. initiation of the print job. The delta times represent the difference between 
  753. each discrete measurement. For an explanation of the numbers in the #Test 
  754. Config" column, see Appendix B.
  755.  
  756. TEST        ABS... DELTA. ABS... DELTA. ABS... DELTA. ABS... DELTA. ABS... 
  757. DELTA. ABS... DELTA.
  758. CONFIG      T1     T1     T2     T2     T3     T3     T4     T4     T5     T5 
  759.     T6     T6    
  760.             (Sec.) (Sec.) (Sec.) (Sec.) (Sec.) (Sec.) (Sec.) (Sec.) (Sec.) 
  761. (Sec.) (Sec.) (Sec.)
  762.             ______ ______ ______ ______ ______ ______ ______ ______ ______ 
  763. ______ ______ ______
  764.                                                                               
  765.                  
  766. 19               3      3      8      5     12      4     35     23     53    
  767.  41     70     17
  768. 19               5      5     10      5     12      2     30     18     50    
  769.  38     59      9
  770. 19               2      2      7      5     22     15     43     21     62    
  771.  40     71      9
  772.  
  773. 20               3      3      8      5      9      1     28     19     48    
  774.  39     58     10
  775. 20               7      7     12      5     17      5     41     24     56    
  776.  39     69     13
  777. 20               4      4      8      4     18     10     41     23     59    
  778.  41     70     11
  779.  
  780. 21               5      5      9      4     11      2     34     23     50    
  781.  39     63     13
  782. 21               5      5      6      1     11      5     34     23     50    
  783.  39     62     12
  784. 21               4      4      6      2     10      4     25     15     44    
  785.  34     55     11
  786.  
  787. 22               3      3      8      5     18     10     64     46     64    
  788.  46     77     13
  789. 22               5      5     10      5     15      5     39     24     55    
  790.  40     65     10
  791. 22               4      4      5      1     19     14     42     23     59    
  792.  40     70     11
  793.  
  794. 23               6      6      8      2     21     13     83     62    216    
  795. 195    235     19
  796. 23               5      5      7      2     17     10    101     84    197    
  797. 180    217     20
  798. 23               3      3      3      0     14     11     76     62    209    
  799. 195    229     20
  800.  
  801. 26               4      4      9      5     10      1     99     89    214    
  802. 204    215      1
  803. 26               3      3      9      6     14      5     60     46    194    
  804. 180    213     19
  805. 26               3      3      7      4     18     11     75     57    214    
  806. 196    231     17
  807.  
  808. 27               3      3      8      5     18     10     69     51    168    
  809. 150    187     19
  810. 27               4      4      4      0     37     33     75     38    187    
  811. 150    204     17
  812. 27               4      4      4      0     15     11     72     57    178    
  813. 163    201     23
  814.  
  815. 31               2      2     10      8     12      2     31     19     41    
  816.  29     54     13
  817. 31               5      5      5      0      6      1     28     22     40    
  818.  34     53     13
  819. 31               1      1      8      7      8      0     28     20     41    
  820.  33     51     10
  821.  
  822. 34               2      2      7      5     17     10     38     21     47    
  823.  30     61     14
  824.  
  825. 35               2      2      3      1     12      9     32     20     34    
  826.  22     46     12
  827. 35               2      2      7      5     17     10     32     15     33    
  828.  16     47     14
  829. 35               5      5      6      1     10      4     25     15     25    
  830.  15     38     13
  831.  
  832. Appendix B: High#End Test Configurations
  833.  
  834. This appendix details the hardware and software configurations (numbered 19 
  835. through 35) used for the extended print service performance tests. These are 
  836. the numbers indicated in the #Test Config" column in Appendix A.  
  837.  
  838.  
  839.  
  840.         Printer                                    
  841.       DOCUMENT
  842.  
  843.  
  844.  
  845. N0.     Type    Config     OS    QUEUES    LOAD    PSERVER    VERSION     Size    Type  
  846.  METHOD 
  847.  
  848.  
  849.  
  850. 19    HPIIIsi    F/S        2.2      1    U        VAP    V1.21
  851.     270451    T/G    NPRINT       
  852.  
  853. 20    HPIIIsi    F/S     2.2      2    U       VAP    V1.21     270451    T/G
  854.     NPRINT        
  855.  
  856. 21    HPIIIsi    F/S     2.2         2    L       VAP    V1.21     270451    T/G
  857.     NPRINT         
  858.  
  859. 22    HPIIIsi    F/S     2.2        1    L       VAP    V1.21     270451    T/G
  860.     NPRINT         
  861.  
  862. 23    HPIII    F/S     2.2         1    U       VAP    V1.21     270451    T/G
  863.     NPRINT         
  864.  
  865. 24    HPIII    F/S     2.2         2    U       VAP    V1.21     270451    T/G
  866.     NPRINT         
  867.  
  868. 25    HPIII    F/S     2.2         2    L       VAP    V1.21     270451    T/G
  869.     NPRINT         
  870.  
  871. 26    HPIII    F/S     2.2         1    L       VAP    V1.21     270451    T/G
  872.     NPRINT         
  873.  
  874. 27    HPIII    F/S     3.1         1    U          NLM    V1.21  
  875.     270451    T/G    NPRINT  
  876.  
  877. 28    HPIII    F/S     3.1         1    L       NLM    V1.21      270451    T/G
  878.     NPRINT
  879.  
  880. 29    HPIII    F/S     3.1         2    L       NLM    V1.21      270451    T/G  
  881.     NPRINT
  882.  
  883. 30    HPIII    F/S     3.1        2    U       NLM    V1.21      270451    T/G  
  884.     NPRINT
  885.  
  886. 31    HPIIIsi    F/S     3.1        1    U        NLM    V1.21  
  887.     270451    T/G    NPRINT
  888.  
  889. 32    HPIIIsi      F/S     3.1        1    L       NLM    V1.21  
  890.     270451     T/G    NPRINT
  891.  
  892. 33    HPIIIsi      F/S     3.1        2    L       NLM    V1.21  
  893.     270451    T/G    NPRINT
  894.  
  895. 34    HPIIIsi      F/S     3.1        2    U       NLM    V1.21  
  896.     270451    T/G    NPRINT
  897.  
  898. 35    HPIIIsi    F/S     3.1       1    U       NLM       1.21      150807    G/0  
  899.     NPRINT
  900.  
  901. Editor's Note: The author accepts written feedback at FAX (801) 429#5511.
  902.  
  903.